package com.huhao.wshare.dto.User.Response;

import com.huhao.wshare.entity.User;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.http.HttpStatus;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder // 使用 Builder 模式方便对象构建
public class UserRegisterSuccessResponse {
    private Integer code;       // 状态码, e.g., 200 for success
    private String message;     // 成功消息
    private Long id;        // 用户ID
    private String username;
    private String account;
    private String email;
    private String phone;
    private String gender;

    /**
     * 静态工厂方法，用于从 User 实体轻松创建响应对象。
     * 这将 Controller 中的转换逻辑封装到了 DTO 自身。
     * @param user 注册成功的 User 实体
     * @return UserRegisterSuccessResponse 实例
     */
    public static UserRegisterSuccessResponse fromUser(User user) {
        return UserRegisterSuccessResponse.builder()
                // --- 修改点：将状态码从 201 改为 200 ---
                .code(HttpStatus.OK.value()) // 使用 200 OK
                .message("用户注册成功！")
                .id(user.getId())
                .username(user.getUsername())
                .account(user.getAccount())
                .email(user.getEmail())
                .phone(user.getPhone())
                .gender(user.getGender())
                .build();
    }
}
